home *** CD-ROM | disk | FTP | other *** search
/ Aminet 7 / Aminet 7 - August 1995.iso / Aminet / game / misc / DamageWolf3DV1.lha / Wolf3d-info.txt < prev    next >
Text File  |  1980-01-01  |  12KB  |  293 lines

  1.                                 Wolf3D - Amiga
  2.  
  3.  
  4.                             Codex:  STL/Damage(SF)
  5.  
  6.                  C2P combination of c2p_020_fastram and c2p4.a
  7.  
  8.                                    Gfx:  STL
  9.  
  10.               Quality Assurance and High Depressing:  Friends :)
  11.  
  12.  
  13. V1.0 16..17.12.94, (pre)^n release and obsolete as well as V1.1.
  14. V1.1 followed some days later as a quick re-release after improvements.
  15.  
  16. Changes after V1.1:
  17.  
  18. · Game engine optimized and lots of shit kicked out from the ray routines.
  19. · Document mistakes corrected.
  20.  
  21. V1.2 release date 26.12.94. Changes after V1.2:
  22.  
  23. · Doors (basically pretty ready, but yet disabled for unsubdividional reasons)
  24. · Real dithering (or actually not, but should fool you :)
  25. · EHB/OCS and 256/AGA colour modes.
  26. · The usage of blitter added to the C2P routine.
  27. · Faster, optimized etc...
  28.  
  29. V1.3 released?  Dunno...  :)
  30.  
  31. · Anyway, even more optimizations, HD crashes (not caused by the Wolf though :)
  32. and other nice surprises (My HD's PSU blew up...  Sigh)...
  33.  
  34. V1.4 release: this hopefully also spread...
  35.  
  36. V1.5 release 15.5.95 (the magic three 5s)
  37.  
  38. · Floor/Ceiling texture mapping
  39. · Bigger screen
  40.  
  41.  
  42. V1.6_BUG_kill-1 - release V1.6.1
  43.  
  44. · Looks better due to the increased amount of decimals (my fault at V1.5)
  45. · Faster (At least 8x192x48 cycles on the bigger screen per screen calc)
  46. · Even more faster (floor routine optimized)
  47. · Ray tracing faster (Speedy speed the third time!)
  48. · The bug that crashed V1.5 is now removed.
  49. · Corrected a perspective bug.
  50. · Sprite fading added.
  51. · AGA and OCS modes now included in the same file!  Switch with F10.
  52.  
  53. The reason for the arrival of the V1.6 is the fact that V1.5 tend to crash when
  54. the  demo  compiled  the first screen.  The crash was an immediate screen going
  55. foom  and system halt, crash and guru when the precalculating had finished.  It
  56. was caused by the fact that AmigaDOS doesn't clear bss areas before running the
  57. demo.   Since  assembler  does  this,  I  never  received  any  problems.   The
  58. unclearance  of bss caused uninitialized data areas, and the thing that crashed
  59. it  all  was  a tiny little word of memory, that stated the amount of tasks the
  60. blitter  had  left  to do.  This particular little word inherited the value the
  61. last task had left at that particular point in memory.  Even a value of 64 (can
  62. be  from  zero to 65536) is high enough to make the blitter run through most of
  63. the  chip  memory,  messing  everything  on  its  path.   This counts interrupt
  64. pointers,  exec  pointer  and exec.library for the system, and graphics for the
  65. engine.
  66.  
  67. One of the Murphy's laws is that the bugs never appear before the release date!
  68.  
  69. Then to the other type of fatal crash bug that has been reported to me.  It may
  70. currently occur on 68020++, and I have been told that disabling the duplication
  71. of the zero page to the fast memory made the demo work.  Could simply boil down
  72. to the 1st bug too, as this changes the memory assignment a little.  The person
  73. telling  me this assumed exeption/interrupt register setup failure.  The upshot
  74. for  copying  the zero page is that fast memory is faster to access and thus it
  75. boosts  up  AmigaDOS  little.  Since this is MMU-only feature, it doesn't cross
  76. the  paths  of  anyone  else.   And  some  MMU people can annoy themselves with
  77. Enforcer  hits, too.  Anyway, I once read a document about MMUs and zero pages,
  78. and  I don't remember any mentions about crash possibilities.  Try this anyway,
  79. if everything else fails.  This is an UnCertain Area for me, could anybody help
  80. me out?  :)
  81.  
  82. I  have  been  told  that  the AGA looks insanely identical to the OCS version.
  83. That is, they are actually VERY identical.  The only difference between OCS and
  84. AGA is the amount of colours and an improved palette (256 colours - 24 bit)!
  85.  
  86. To  the  question  of  creating a game, I am open for game contracts :) ..  I'm
  87. already  coding a game, though.  Real mem loss anyway.  About 500kB of mem will
  88. be  needed  for  the  graphics if a game will be done, having three enemies and
  89. nice design, just like in the official PC game Wolfenstein 3D.
  90.  
  91.  
  92. Now to the almost intact original V1.5 Info text...
  93.  
  94. MAIL: andezl@kastelli.otol.fi
  95. IRC: Check out STL!andezl@* on #amiga or #amigascne
  96.  
  97. This  demo  is made for an interest in coding a FAST similar 3D routine that is
  98. used in Wolfenstein (or why not better while on it :) For a long time, that was
  99. not  possible  due  to the lack of algorithms required to the rendering of a 3D
  100. screen  from  a  simple  2D  map.  The last kick needed came from the documents
  101. written by Brian Marshall.
  102.  
  103. Without  him,  this  demo would not exist.  Also extra thanks to Count Zero for
  104. supplying  me  with  those documents.  And most thanks to Peter McGavin for his
  105. fine Chunky sources.
  106.  
  107. The  hardware requirements are kept to minimum in order to make this accessible
  108. for  everyone.   The only limit is the EHB mode, which (as I recall) limits out
  109. the A1000 machines, which don't have it.
  110.  
  111. Features:
  112.  
  113. · Two screen sizes, 128x96 and 192x160.
  114.  
  115. · Two colour modes, 64_EHB-OCS and 256-AGA.
  116.  
  117. · Floor, ceiling and wall Texture mapping.
  118.  
  119. · Depth cueing with realtime texture dithering.
  120.  
  121. · Sprites.
  122.  
  123.                                       ***
  124.  
  125. Here  are  the keyboard controls for the game.  Mitsumis are welcome and others
  126. are not.  A1200 is especially unstabile.  Key detection fails, key releases may
  127. be  left  undetected,  matrix  fails  and  other general shit.  Well, not fatal
  128. though.  Most of the time it works (= at least 50% of cases).
  129.  
  130. Strange though.  There are no dbf wait loops, but a vblank line -loop to ensure
  131. that  enough  time  gets  waited  (read:   wasted).   It  seems that the actual
  132. keyboard  of  A1200  and  some  other  keyboard  types  can't  detect  all  the
  133. combinations  of  multiple  key strokes.  Most of the A500's keyboards (That is
  134. Mitsumi,  I  suppose) have the n-key rollover, which means that you haven't got
  135. enough  fingers  to mess up the matrix.  It seems very easy on the 1200 though.
  136. Annoying.
  137.  
  138. If  anybody  knows  a  proper,  errorproof  way  to  hardware read keyboards on
  139. non-Mitsumis  with  simultaneous  keypresses  available,  please tell me.  That
  140. would help lots of people.
  141.  
  142. It seems that some of those qualifier keys are errorproof.  Nice thing, but not
  143. too helpful.
  144.  
  145.  
  146. ESC/LMB=quit
  147.  
  148. Joystick Fire/R-ALT=fire current weapon.  N/A
  149.  
  150. R-Amiga=modify turn left/right keys to do sidewalk.  N/A
  151.  
  152. Space=open door.  N/A
  153.  
  154. Shift=running mode, also available on numeric.
  155.  
  156.  
  157. Numeric keyboard controls:
  158.  
  159.  
  160.         [        ]        /        *
  161.       sidewalk left      move forwards      sidewalk right
  162.  
  163.  
  164.         7        8        9        -
  165.         turn left      move forwards       turn right
  166.  
  167.  
  168.         4        5        6        +
  169.         turn left     move backwards       turn right      fire weapon N/A
  170.  
  171.  
  172.         1        2        3        E
  173.         turn left     move backwards       turn right       open doors N/A
  174.  
  175.  
  176.         0                .
  177.        running mode
  178.  
  179.  
  180. Another  method for primary controlling, although more limited, is to use arrow
  181. keys.  This helps with the A1200's keyboard.  Even more helpful is to leave the
  182. whole keyboard intact and grab a joystick instead.
  183.  
  184.  
  185.                                   The Engine
  186.                                   ----------
  187.  
  188. What's new?
  189.  
  190. The view is completely texture mapped, in contrary to the V1.4 version that had
  191. only  the  walls texture mapped.  Now mapping includes walls, floors, ceilings,
  192. sprites  and  doors  (that are faked yet!).  All the walls, ceilings and floors
  193. are  faded  and  dithered according the depth and the type of the texture block
  194. (floor  is  the  darkest,  ceiling little lighter and wall receives the maximum
  195. light) to accomplish the view perfection to the eye.
  196.  
  197. The  floor/ceiling routine was started from scratch and has reached the current
  198. form after 12 hours of optimizing/developing.  This routine is the thirth one I
  199. have made for such purpose.  It is at least the fastest I have seen anywhere so
  200. far.  Sorry for not having an actual floor/ceiling texture selection map.  Will
  201. be done some day.
  202.  
  203. Here's  a  little comparision that I have made to the leading Wolf Clone (in my
  204. opinion),  that  is  yet  very similar to my own:  Nearest match is POOM, and I
  205. talk about the version demonstarted in Parallax's demo Drool This.
  206.  
  207. What makes DamageWolf better than POOM?
  208.  
  209. - Soft fading, lots of entirely differing colours and only 64 colours used
  210.   (AGA uses full 256 colour palette, of course).
  211.  
  212. - Ceiling and floor are independent in both the lighting level and texture. 
  213.   Any texture could be selected, but this is yet limited. (I think POOM
  214.   mirrors ceiling to floor (or the other way), fast and simple solution)
  215.  
  216. - Smaller memory usage (this means worse textures, though)
  217.  
  218. - Texture Dithering (gives more than 120 rastered colours)
  219.  
  220. - Very long distance view (one ray is traced at least 40 squares of map before
  221.   it is assumed never to hit anything), I believe the farthest on Amiga.
  222.  
  223. - Faster/Equal speed (Actually I don't know, Drool This run on 68030/50
  224.   without any framerate information except the one given by analog measuring
  225.   equipment, ie. my eyes and the size of the view wasn't mentioned (or I
  226.   didn't catch it))
  227.  
  228. What DMGWolf misses compared to POOM?
  229.  
  230. - Doors (although POOM's doors can be easily managed)
  231. - Nice textures, animation, 128x128 blocks etc... (I am NOT a GFXian.)
  232. - POOM has larger screen.
  233.  
  234.  
  235. Of course I have seen some other Wolfs, too, but they hardly match with mine's.
  236. I'm  waiting  for  TextDemo5,  which should have all kinds of neat stuff, and I
  237. want  to  see Alien Breed 3D as well...  And of course the next release of POOM
  238. :)
  239.  
  240. I  have been told that there are even more good Wolf clones, some even having 2
  241. player playing possibilities, split screen, modem support..  Due to the lack of
  242. AGA  and 68020 (and modem), they render their unexsistence to me.  Actually all
  243. of them would :( ..  I wonder if anyone else continues supporting the A500?
  244.  
  245.  
  246.                                  General info
  247.                                  ------------
  248.  
  249. This  Wolfenstein  uses  ray firing and nothing else to draw the view.  The ray
  250. firing  is  specially  optimized  to  be  able  to  trace  all the mindbursting
  251. distances  there  are  in  very fast manner.  However, rayfiring means that the
  252. walls  have  to be at 90° degrees with each other.  Any texture can be selected
  253. for  wall  blocks,  and the wall blocks can be transparent.  There is currently
  254. only  one light source (or actually no light sources at all, but general fading
  255. from the player), and I think it will remain this way.
  256.  
  257. The  AGA  usage  has  improved.  Last time there was 256 colours.  Now there is
  258. also  an  24bit  palette,  which means much nicer fading.  Anyway, it is pretty
  259. hard to support AGA without being able to test the routine at all.
  260.  
  261. I  noticed  a flaw in the blitter buffering, and I corrected it.  Last time the
  262. C2P  left  the  previous  screen  unsecured for a little while - about 33% of a
  263. frame,  which  could have malfunctioned on somebody's 68060 :) I can guess that
  264. this  wasn't  actually  very  significant  improvement  :)  ..   C2P  now sorts
  265. everything out perfectly.
  266.  
  267. The  door sprites are removed, as the routine can't support them anymore due to
  268. MAJOR changes in the screen drawing algortihm tabling sequences.  The doors can
  269. still be added, of course.  Perhaps I will create the real textured doors next.
  270.  
  271. And the last note is that the Texture Dithering process has bugs.  This appears
  272. as  sudden  hiliting  of  some  colours/dithering componenets.  Don't know what
  273. causes  this.  Anyway, all this little finishnessless is due to the fact that I
  274. haven't yet cared about them too much.  Well, there will be re-releases in case
  275. this version turns out to have more bugs than advantages :)
  276.  
  277. The  graphics may change to real AGA ones for next release after/during summer.
  278. B.B:  it is up to you :)
  279.  
  280. I  access  Internet  via  my school, and from now on I have to use other means.
  281. The  result  is  that  I  can visit to read my mailbox pretty rarely.  So don't
  282. wonder if my responses take time.
  283.  
  284.                                       ***
  285.  
  286. Enough.   N-joy, have fun, explore.  Hope it works this time little better.  If
  287. you  have  comments, suggestions or questions, just mail me.  Any mail would be
  288. most welcome.
  289.  
  290.  
  291. * STL / Damage --- Antti Lankila --- andezl@kastelli.otol.fi *
  292. * ^^^ = IRC     -                 -            MAIL          *
  293.